/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nvOrganism;

import org.nViron.nvRender.nvRenderer;
import org.nViron.nvSim.nvSimulator;

/**
 *
 * @author Roland
 */
abstract public class nvOrganismMgr {

    private static long nextId;
    public final static int INVALID_ID = 0;
    protected nvSimulator simulator;

    public nvOrganismMgr(nvSimulator simulator) {
        this.simulator = simulator;
        nextId = INVALID_ID;
    }

    abstract public void render(nvRenderer renderer);
    abstract public void update();

    protected long getNextId() {
        return ++nextId;
    }

    public nvSimulator getSimulator() {
        return simulator;
    }
}